Method and apparatus for join selection of a conference call

ABSTRACT

A method and communication device are provided for creating a conference call profile from a communication device, wherein the communication device includes a memory for storing an event record. The method includes: identifying from the event record one or more addresses for communicating with a conference call server; generating a conference call profile having one or more address fields and populating the address fields with the addresses; and storing the generated conference call profile in the memory. A communication device can be configured to perform the method.

RELATED APPLICATION

This application claims priority from U.S. Provisional PatentApplication 61/454,318 titled, “Method for Join Selection of aConference Call,” filed Mar. 18, 2011, and is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

Example embodiments relate to conference call systems and methods, forexample for join selection of a conference call from a communicationdevice.

BACKGROUND

During a conference call, voice or media connections are typically madebetween two or more communication devices such as telephones or mobilephones.

When scheduling a conventional conference call, a user typically isrequired to configure the conference call manually. For example, allconference call information would be entered into specific fields ortags, including the time, attendees, host, and conference access number.Specific menus and interfaces would be used to implement thesefunctions. When a quick meeting needs to be convened, there is timeoverhead required to set up the meeting. In addition, the user can bedistracted from the substantive content of the meeting in order tofacilitate the administrative aspect in coordinating the meeting.

When receiving a conference call invitation in a device, typically thespecific fields or tags are used to determine the particular conferencecall details. This can raise compatibility issues. For example, in someconventional systems, both the host and the participant can be forced touse the same or compatible scheduling software applications, in order toexchange suitable scheduling information. However, in many instances theparticipants can be using a variety of different applications forscheduling, such as Google™ Calendar, Apple™ iCal, GoDaddy™ Online GroupCalendar, IBM Lotus Notes™, Yahoo™ Calendar, and Microsoft Outlook™.These programs typically use a calendar standard format for merelycommunicating and setting up calendar appointments, and are not specificto setting up conference calls.

There are yet further some variety of different vendors who havededicated templates for scheduling conference calls, for exampleInterCall, WebEx, ACT, Live Meeting, and e-Dial. However, any additionalspecialized features in these templates typically require both the hostand the participant to have a dedicated or compatible softwareapplication to recognize the particular template in order to use anyspecialized tags or fields. This can result in a relatively inflexibleresult when attempting to schedule a conference call between multipleparties.

Other difficulties with existing teleconferencing systems will beapparent to those skilled in the art in view of the detailed descriptionbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example, to the accompanyingdrawings which show example embodiments, and in which:

FIG. 1 shows, in block diagram form, an example system for managingenterprise-related mobile calls, including an enterprise communicationsplatform, to which example embodiments can be applied;

FIG. 2 shows, in block diagram form, further details of an embodiment ofthe enterprise communications platform;

FIG. 3 shows another embodiment of the enterprise communicationsplatform;

FIG. 4 shows yet another embodiment of the enterprise communicationsplatform;

FIG. 5 shows further details of the enterprise communications platformof FIG. 3;

FIG. 6 shows, in block diagram form, a conference call system includingthe enterprise communications platform shown in FIG. 1 and clientdevices;

FIG. 7 shows a block diagram illustrating a mobile communication devicein accordance with an example embodiment;

FIG. 8 shows an example flow diagram of a method for identifying aconference call in accordance with an example embodiment;

FIG. 9 shows a user interface as displayed on a mobile communicationdevice, for scheduling of a calendar meeting for a conference call, inaccordance with an example embodiment;

FIG. 10A shows an example user interface for configuring conference callscheduling information, in accordance with an example embodiment;

FIG. 10B shows the example user interface of FIG. 10A in anotheroperation;

FIG. 10C shows the example user interface of FIG. 10A in anotheroperation;

FIG. 11 shows another example user interface for configuring conferencecall scheduling information, in accordance with another exampleembodiment;

FIG. 12 shows an example user interface for displaying a receivedinvitation message on a mobile communication device, in accordance withan example embodiment;

FIG. 13 shows a reminder interface for a scheduled conference callsession, in accordance with an example embodiment; and

FIG. 14 shows an example flow diagram of a method for join selection ofa conference call in accordance with an example embodiment.

Similar reference numerals can be used in different figures to denotesimilar components.

DESCRIPTION OF EXAMPLE EMBODIMENTS

Some example embodiments generally relate to an automatic discoveryfeature for a join now feature. Generally, in some example embodimentsthe join now feature includes a default join option, such as a “JoinNow” button, for establishing a scheduled conference call session usinga default address. Once the time of that meeting arrives, or apredetermined time beforehand, the “Join Now” button can be displayed ona device on a popup reminder interface. In example embodiments, theautomatic discovery feature is used to determine whether a particularaddress is to be associated with the join now feature. When this isperformed, the selection of the “Join Now” button would result in thedevice automatically operatively connecting to a conference call serverusing the identified address. The address can be a phone number or anaddress link such as an Internet address and a conference access code.

Some example embodiments can be implemented by a host communicationdevice for a conference call. The default join now can be automaticallyassociated with an address through specified criteria recognized fromthe device.

Some example embodiments can be implemented by a non-host participantcommunication device for a conference call. This can be applied to acalendar meeting that is received, or to existing stored calendarmeetings. The default join now can be automatically associated with anaddress through specified criteria, for example based on locationinformation of the device.

In one example embodiment, there is provided a method for join selectionof a conference call from a communication device, wherein thecommunication device includes a memory for storing an event record. Themethod includes: identifying from the event record one or more addressesfor contacting a conference call server for establishing a scheduledconference call session; automatically selecting, based on specifiedcriteria, one of the addresses as a default address associated with adefault join option for establishing the scheduled conference callsession; generating an identifier for associating the selected defaultaddress with the default join option; and storing the identifier in thememory.

In another example embodiment, there is provided a non-transitorycomputer readable medium having recorded thereon statements andinstructions for join selection of a conference call, the statements andinstructions comprising code means for performing the method.

In yet another example embodiment, there is provided a communicationdevice including a communications subsystem; a memory for storing anevent record; and a controller configured for performing the method.

Example embodiments relate to the control and management of conferencecall communications. Although reference is made to “calls” and “talk” inthe description of example embodiments below, it will be appreciatedthat some of the described systems and methods can be applicable tosession-based communications in general and not limited to voice calls.Reference to calls can, for example, include shared data (e.g.presentation content) as well as media sessions, which can, for example,include video and/or audio. The various communications can include bothsynchronous and asynchronous communications to implement such “calls”.

Reference is now made to FIG. 1, which shows, in block diagram form, anexample system, generally designated 10, for the control and managementof communications. The system 10 includes an enterprise or businesssystem 20, which in many embodiments includes a local area network(LAN). In the description below, the enterprise or business system 20can be referred to as an enterprise network 20. It will be appreciatedthat the enterprise network 20 can include more than one network and canbe located in multiple geographic areas in some embodiments.

The enterprise network 20 can be operatively connected, often through afirewall 22, to a wide area network (WAN) 30, such as the Internet. Theenterprise network 20 can also be operatively connected to a publicswitched telephone network (PSTN) 40 via direct inward dialing (DID)trunks or primary rate interface (PRI) trunks.

The enterprise network 20 can also communicate with a public land mobilenetwork (PLMN) 50, which can also be referred to as a wireless wide areanetwork (WWAN) or, in some cases, a cellular network. The operativeconnection with the PLMN 50 can be made via a relay 26, as understood inthe art.

The enterprise network 20 can also provide a wireless local area network(WLAN) 32 a featuring wireless access points. Other WLANs 32 can existoutside the enterprise network 20. For example, WLAN 32 b can beoperatively connected to WAN 30.

The system 10 can include a number of enterprise-associated mobiledevices 11 (only one shown). The mobile devices 11 can include devicesequipped with communications modules for cellular communication throughthe PLMN 50, mobile devices equipped for Wi-Fi communications over oneof the WLANs 32, or dual-mode devices capable of both cellular and datacommunications. WLANs 32 can be configured in accordance with one of theIEEE 802.11 specifications.

It will be understood by a person with ordinary skill in the art thatthe mobile devices 11 include one or more radio transceivers andassociated processing hardware and software to enable wirelesscommunications with the PLMN 50 and/or one of the WLANs 32. In variousembodiments, the PLMN 50 and mobile devices 11 can be configured tooperate in compliance with any one or more of a number of wirelessprotocols, including GSM, GPRS, CDMA, EDGE, UMTS, EvDO, HSPA, 3GPP, or avariety of others. It will be appreciated that the mobile device 11 canroam within the PLMN 50 and across PLMNs, in known manner, as the usermoves. In some instances, the dual-mode mobile devices 11 and/or theenterprise network 20 are configured to facilitate roaming between thePLMN 50 and a WLAN 32, and are thus capable of seamlessly transferringsessions (such as voice calls) from an operative connection with thecellular interface of the dual-mode device 11 to the WLAN 32 interfaceof the dual-mode device 11, and vice versa.

The mobile devices 11 can consist of various types of communicationdevices. Such mobile devices 11 can include “Class A” devices, which areable to function continuously as dual-mode devices, capable of bothmedia and data communications. Mobile devices 11 can also include“non-Class A” devices, which can function as dual-mode devices forinitialization or prior to an operative connection with the enterprisecommunications platform 14, but can lose data functionality once a mediasession (e.g., voice call) is established. The enterprise network 20 canalso include additional client devices which are voice-only ormedia-only devices, which can be digital or analog for communicationwith the PSTN or PLMN, and which need not have data capabilities (hereinreferred to as “voice-only” or “media-only” devices). In otherembodiments, the mobile devices 11 can include any suitable clientdevice configured with the communications functionality describedherein, and can, for example, include computer devices, relays, proxies,gateways and any appropriate User Agents (as defined in SIP).

The enterprise network 20 typically includes a number of networkedservers, computers, and other devices. For example, the enterprisenetwork 20 can operatively connect one or more desktop or laptopcomputers 15 (one shown). The operative connection can be wired orwireless in some embodiments. The enterprise network 20 can alsooperatively connect to one or more digital telephone sets 17 (oneshown).

The enterprise network 20 can include one or more mail servers, such asmail server 24, for coordinating the transmission, storage, and receiptof electronic messages for client devices operating within theenterprise network 20. Typical mail servers include the MicrosoftExchange Server™ and the IBM Lotus Domino™ server. Each user within theenterprise typically has at least one user account within the enterprisenetwork 20. Associated with each user account is message addressinformation, such as an e-mail address. Messages addressed to a usermessage address are stored on the enterprise network 20 in the mailserver 24. The messages can be retrieved by the user using a messagingapplication, such as an e-mail client application. The messagingapplication can be operating on a user's computer 15 operativelyconnected to the enterprise network 20 within the enterprise. In someembodiments, the user can be permitted to access stored messages using aremote computer, for example at another location via the WAN 30 using aVPN connection. Using the messaging application, the user can alsocompose and send messages addressed to others, within or outside theenterprise network 20. The messaging application causes the mail server24 to send a composed message to the addressee, often via the WAN 30.

The relay 26 serves to route messages received over the PLMN 50 from themobile device 11 to the corresponding enterprise network 20. The relay26 also pushes messages from the enterprise network 20 to the mobiledevice 11 via the PLMN 50.

The enterprise network 20 also includes an enterprise server 12.Generally, the enterprise server 12 is configured to collectively servethe needs of the enterprise network 20, for example to provide and/orsynchronize messaging, contacts and calendaring information betweenservers, desktop workstations 15, and mobile devices 11. Together withthe relay 26, the enterprise server 12 functions to redirect or relayincoming e-mail messages addressed to a user's e-mail address within theenterprise network 20 to the user's mobile device 11 and to relayincoming e-mail messages composed and sent via the mobile device 11 outto the intended recipients within the WAN 30 or elsewhere. Theenterprise server 12 and relay 26 together facilitate “push” e-mailservice for the mobile device 11 enabling the user to send and receivee-mail messages using the mobile device 11 as though the user wereoperatively connected to an e-mail client within the enterprise network20 using the user's enterprise-related e-mail address, for example oncomputer 15.

As is typical in many enterprises, the enterprise network 20 includes aPrivate Branch eXchange (although in various embodiments the PBX can bea standard PBX or an IP-PBX, for simplicity the description below usesthe term PBX to refer to both) 16 having an operative connection withthe PSTN 40 for routing incoming and outgoing voice calls for theenterprise. The PBX 16 is operatively connected to the PSTN 40 via DIDtrunks or PRI trunks, for example. The PBX 16 can use ISDN signalingprotocols for setting up and tearing down circuit-switched connectionsthrough the PSTN 40 and related signaling and communications. In someembodiments, the PBX 16 can be operatively connected to one or moreconventional analog telephones 19. The PBX 16 is also operativelyconnected to the enterprise network 20 and, through it, to telephoneterminal devices, such as digital telephone sets 17, softphonesoperating on computers 15, etc. Within the enterprise, each individualcan have an associated extension number, sometimes referred to as a PNP(private numbering plan), or direct dial phone number. Calls outgoingfrom the PBX 16 to the PSTN 40 or incoming from the PSTN 40 to the PBX16 are typically circuit-switched calls. Within the enterprise, e.g.between the PBX 16 and terminal devices, voice calls are oftenpacket-switched calls, for example Voice-over-IP (VoIP) calls.

The enterprise network 20 can further include a Service ManagementPlatform (SMP) 18 for performing some aspects of messaging or sessioncontrol, like call control and advanced call processing features. TheSMP 18 can, in some cases, also perform some media handling.Collectively the SMP 18 and PBX 16 can be referred to as the enterprisecommunications platform, generally designated 14. It will be appreciatedthat the enterprise communications platform 14 and, in particular, theSMP 18, is implemented on one or more servers having suitablecommunications interfaces for operatively connecting to andcommunicating with the PBX 16 and/or DID/PRI trunks. Although the SMP 18can be implemented on a stand-alone server, it will be appreciated thatit can be implemented into an existing control agent/server as a logicalsoftware component. As will be described below, the SMP 18 can beimplemented as a multi-layer platform.

The enterprise communications platform 14 implements the switching tooperatively connect session legs and can provide the conversion between,for example, a circuit-switched call and a VoIP call, or to operativelyconnect legs of other media sessions. In some embodiments, in thecontext of voice calls the enterprise communications platform 14provides a number of additional functions including automated attendant,interactive voice response (IVR), call forwarding, voice mail, etc. Itcan also implement certain usage restrictions on enterprise users, suchas blocking international calls or 1-900 calls. In many embodiments,Session Initiation Protocol (SIP) can be used to set-up, manage, andterminate media sessions for voice calls. Other protocols can also beemployed by the enterprise communications platform 14, for example, WebServices, Computer Telephony Integration (CTI) protocol, SessionInitiation Protocol for Instant Messaging and Presence LeveragingExtensions (SIMPLE), and various custom Application ProgrammingInterfaces (APIs), as will be described in greater detail below.

One of the functions of the enterprise communications platform 14 is toextend the features of enterprise telephony to the mobile devices 11.For example, the enterprise communications platform 14 can allow themobile device 11 to perform functions akin to those normally availableon a standard office telephone, such as the digital telephone set 17 oranalog telephone set 15. Example features can include direct extensiondialing, enterprise voice mail, conferencing, call transfer, call park,etc.

Reference is now made to FIGS. 2 to 4, which show example embodiments ofthe enterprise communications system 14. FIG. 2 illustrates anembodiment intended for use in a circuit-switched TDM context. The PBX16 is coupled to the SMP 18 via PRI operative connection 60 or othersuitable digital trunk. In some embodiments, the PRI operativeconnection 60 can include a first PRI operative connection, a second PRIoperative connection, and a channel service unit (CSU), wherein the CSUis a mechanism for operatively connecting computing devices to digitalmediums in a manner that allows for the retiming and regeneration ofincoming signals. It will be appreciated that there can be additional oralternative operative connections between the PBX 16 and the SMP 18.

In this embodiment, the SMP 18 assumes control over both call processingand the media itself. This architecture can be referred to as “FirstParty Call Control”. Many of the media handling functions normallyimplemented by the PBX 16 are handled by the SMP 18 in thisarchitecture. Incoming calls addressed to any extension or direct dialnumber within the enterprise, for example, are always first routed tothe SMP 18. Thereafter, a call leg is established from the SMP 18 to thecalled party within the enterprise, and the two legs are bridged.Accordingly, the SMP 18 includes a digital trunk interface 62 and adigital signal processing (DSP) conferencing bridge 64. The DSPconferencing bridge 64 performs the bridging of calls for implementationof various call features, such as conferencing, call transfer, etc. Thedigital trunk interface 62 can be implemented as a plurality oftelephonic cards, e.g. Intel Dialogic cards, interconnected by a bus andoperating under the control of a processor. The digital trunk interface62 can also be partly implemented using a processor module such as, forexample, a Host Media Processing (LIMP) processor.

The SMP 18 can include various scripts 66 for managing call processing.The scripts 66 are implemented as software modules, routines, functions,etc., stored in non-volatile memory and executed by the processor of theSMP 18. The scripts 66 can implement call flow logic, business logic,user preferences, call service processes, and various featureapplications.

FIG. 3 shows another embodiment in which the PBX 16 performs thefunctions of terminating and/or bridging media streams, but call controlfunctions are largely handled by the SMP 18. In this embodiment, the SMP18 can be referred to as a call control server 18. This architecture canbe referred to as “Third-Party Call Control”.

The call control server 18 is coupled to the PBX 16, for example throughthe LAN, enabling packet-based communications and, more specifically,IP-based communications. In one embodiment, communications between thePBX 16 and the call control server 18 are carried out in accordance withSIP. In other words, the call control server 18 uses SIP-basedcommunications to manage the set up, tear down, and control of mediahandled by the PBX 16. In one example embodiment, the call controlserver 18 can employ a communications protocol conforming to theECMA-269 or ECMA-323 standards for Computer Supported TelecommunicationsApplications (CSTA).

FIG. 4 shows yet another embodiment of the enterprise communicationssystem 14. This embodiment reflects the adaptation of an existing set ofcall processing scripts to an architecture that relies on third-partycall control, with separate call control and media handling. The SMP 18includes a call processing server 74. The call processing server 74includes the scripts or other programming constructs for performing callhandling functions. The SMP 18 also includes a SIP server 72 and a mediaserver 76. The separate SIP server 72 and media server 76 logicallyseparate the call control from media handling. The SIP server 72interacts with the call processing server 74 using acomputer-implemented communications handling protocol, such as one ofthe ECMA-269 or ECMA-323 standards. These standards prescribe XML basedmessaging for implementing Computer Supported TelecommunicationsApplications (CSTA).

The SIP server 72 interacts with the media server 76 using SIP-basedmedia handling commands. For example, the SIP server 72 and media server76 can communicate using Media Server Markup Language (MSML) as definedin IETF document Saleem A., “Media Server Markup Language”, InternetDraft, draft-saleem-msml-07, Aug. 7, 2008. The media server 76 can beconfigured to perform Host Media Processing (HMP).

Other architectures or configurations for the enterprise communicationssystem 14 will be appreciated by those ordinarily skilled in the art.For example, in example embodiments the service management platform 18can be separate from the PBX 16; or the service management platform 18can include a cloud-based system.

Reference is now made to FIG. 5, which shows another embodiment of theenterprise communications system 14 with a Third Party Call Controlarchitecture. In this embodiment, the SMP 18 is a multi-layer platformthat includes a protocol layer 34, a services layer 36 and anapplication layer 38. The protocol layer 34 includes a plurality ofinterface protocols configured for enabling operation of correspondingapplications in the application layer 38. The services layer 36 includesa plurality of services that can be leveraged by the interface protocolsto create richer applications. Finally, the application layer 38includes a plurality of applications that are exposed out to thecommunication devices and that leverage corresponding ones of theservices and interface protocols for enabling the applications.

Specifically, the protocol layer 34 preferably includes protocols whichallow media to be controlled separate from data. For example, theprotocol layer 34 can include, among other things, a Session InitiationProtocol or SIP 80, a Web Services protocol 82, an ApplicationProgramming Interface or API 84, a Computer Telephony Integrationprotocol or CTI 86, and a Session Initiation Protocol for InstantMessaging and Presence Leveraging Extensions or SIMPLE protocol 88. Itis contemplated that the interface protocols 80-88 are plug-ins that caninterface directly with corresponding servers in the enterprise network20, which will be further described below.

Although SIP 80 can be utilized, it is appreciated that the system 10can operate using the above disclosed or additional protocols. As knownby those of ordinary skill in the art, SIP is the IETF (InternetEngineering Task Force) standard for multimedia session management, andmore specifically is an application-layer control protocol forestablishing, maintaining, modifying and terminating multimedia sessionsbetween two or more endpoints. As further known by those of ordinaryskill in the art, the SIP protocol 80 includes two interfaces forsignaling: SIP-Trunk (hereinafter referred to as “SIP-T”) and SIP-Line(hereinafter referred to as “SIP-L”). Specifically, the SIP-T interfaceis utilized when the endpoint is a non-specific entity or not registered(i.e., when communicating between two network entities). In contrast,the SIP-L interface is utilized when the endpoint is registered (i.e.,when dialing to a specific extension). SIP is defined in J. Rosenberg etal., “RFC 3261—Session Initiation Protocol” (June 2002), the contents ofwhich are herein incorporated by reference.

The SMP 18 also includes a plurality of enablers, among other things, aVoIP enabler 90, a Fixed Mobile Convergence or FMC enabler 92, aconference services enabler 94, a presence enabler 96 and an InstantMessaging or IM enabler 98. Each of the enablers 90-98 are used bycorresponding services in the services layer 36 that combine one or moreof the enablers. Each of the applications in the application layer 38 isthen combined with one or more of the services to perform the desiredapplication. For example, a phone call service can use the VoIP or PBXenabler, and an emergency response application can use the phone callservice, an Instant Messenger service, a video call service, and emailservice and/or a conference service.

The application layer 38 can include a conference services application63 that, together with the conference services enabler 94, enablesmultiple communication devices (including desk telephones and personalcomputers) to participate in a conference call through use of acentralized conference server 55. As seen in FIG. 5, the conferenceserver 55 is provided in the enterprise network 20 and is incommunication with the conference services enabler 94 preferably throughthe SIP protocol 80, although it is recognized that additional protocolsthat control media separate from data can be appropriate, such as theWeb Services protocol 82 or the CTI protocol 86. As will be described infurther detail below, the conference call server 55 is configured fordirecting media and data streams to and from one or more communicationdevices (i.e., mobile devices 11, telephones 17, and computers 15).

Example conference call systems and methods in accordance with exampleembodiments will now be described, referring now to FIG. 6, which showsthe system 10 when used or configured as a conference call system. Asshown, the enterprise communications platform 14 includes the conferenceserver 55 for providing conference call services for a number of clientdevices such as mobile devices 11, illustrated as one designated hostdevice 11 a and one or more participant devices 11 b, 11 c, 11 d. Themobile devices 11 can collectively form a conference call group. Thehost device 11 a is generally the mobile device 11 or associated userwho schedules and hosts a conference call session, and can, for example,be permitted to perform such hosting functions as roll call, mute all,broadcast only, conference lock, etc. In some example embodiments, theconference call session cannot commence without the presence of the hostdevice 11 a.

The enterprise communications platform 14 and the associated conferenceserver 55 can be used for generally executing conference call functions.As described above, in example embodiments, the enterprisecommunications platform 14 can include or be coupled to the media server76 (FIG. 4), wherein the enterprise communications platform 14 controlsthe media handling and media sessions of the media server 76.

Referring still to FIG. 6, in order to implement some of the conferencecall functions described herein, the enterprise communications platform14 can communicate with the mobile devices 11 by way of media sessionsand/or control sessions. Specifically, as shown in FIG. 6, the mobiledevices 11 communicates via media sessions 126 (shown as solid lines)and control sessions 124 (shown as dashed lines to distinguish from themedia sessions 126). For example, the designated host device 11 acommunicates via media session 126 a and control session 124 a.Participant device 11 b communicates via media session 126 b and controlsession 124 b. Participant device 11 c communicates via media session126 c and control session 124 c. In some embodiments, as shown, theparticipant device 11 d can merely communicate via media session 126 dover the PLMN 50 (FIG. 1) or PSTN 40 (FIG. 1) only (without anassociated control session).

In some example embodiments, the media sessions 126 can be facilitatedby the enterprise communications platform 14 by way of Real-timeTransport Protocol (RTP) media sessions, and can include voice calls,video calls, circuit-switched calls or VoIP calls. In order to generateor establish a conference call session, the enterprise communicationsplatform 14 operatively connects or links at least some of the call legsof each media session 126. The particular methods and processes foroperatively connecting of media sessions 126 into a conference callsession would be understood by those skilled in the art, which can, forexample, be implemented by media shuffling or SDP (Session DescriptionProtocol) media shuffling, etc.

In some example embodiments, a data connection (e.g. the same dataconnection as used by the control sessions 124) can be further used toprovide additional data sharing between mobile devices 11. For example,during a conference call, the host mobile device 11 a can provide ortransfer a data file to the remaining mobile devices 11. Data sharingcan also include Web Services or sharing of presentation content.

In some example embodiments, during a conference call session, theenterprise communications platform 14 can receive Global PositioningSystem (GPS) information from at least some of the participant devices11, and can send the received GPS information to the devices 11, toprovide location based positioning services between the devices 11.

Reference is now made to FIG. 7 which illustrates in detail a mobiledevice 11 in which example embodiments can be applied. The mobile device11 is a two-way communication device having data and voice communicationcapabilities, and the capability to communicate with other computersystems, for example, via the Internet. Depending on the functionalityprovided by the mobile device 11, in various embodiments the mobiledevice 11 can be a handheld device, a multiple-mode communication deviceconfigured for both data and voice communication, a smartphone, a mobiletelephone or a PDA (personal digital assistant) enabled for wirelesscommunication.

The mobile device 11 includes a rigid case (not shown) housing thecomponents of the mobile device 11. The internal components of themobile device 11 can, for example, be constructed on a printed circuitboard (PCB). The description of the mobile device 11 herein mentions anumber of specific components and subsystems. Although these componentsand subsystems can be realized as discrete elements, the functions ofthe components and subsystems can also be realized by integrating,combining, or packaging one or more elements in any suitable fashion.The mobile device 11 includes a controller comprising at least oneprocessor 240 (such as a microprocessor) which controls the overalloperation of the mobile device 11. The processor 240 interacts withdevice subsystems such as a wireless communication subsystem 211 forexchanging radio frequency signals with the wireless network (e.g. WAN30 and/or PLMN 50) to perform communication functions. The processor 240interacts with additional device subsystems including a display 204 suchas a liquid crystal display (LCD) screen or any other appropriatedisplay, input devices 206 such as a keyboard and control buttons,persistent memory 244, random access memory (RAM) 246, read only memory(ROM) 248, auxiliary input/output (I/O) subsystems 250, data port 252such as a conventional serial data port or a Universal Serial Bus (USB)data port, speaker 256, microphone 258, short-range communicationsubsystem 262 (which can employ any appropriate a wireless (e.g., RF),optical, or other short range communications technology), and otherdevice subsystems generally designated as 264. Some of the subsystemsshown in FIG. 2 perform communication-related functions, whereas othersubsystems can provide “resident” or on-device functions.

Display 204 can be realized as a touch-screen display in someembodiments. The touch-screen display can be constructed using atouch-sensitive input surface operatively connected to an electroniccontroller and which overlays the visible element of display 204. Thetouch-sensitive overlay and the electronic controller provide atouch-sensitive input device and the processor 240 interacts with thetouch-sensitive overlay via the electronic controller.

The wireless communication subsystem 211 includes one or morecommunication systems for communicating with wireless WAN base stations30 and wireless LAN access points 32 within the wireless network. Theparticular design of the wireless communication subsystem 211 depends onthe wireless network in which mobile device 11 is intended to operate.The mobile device 11 can send and receive communication signals over thewireless network after the required network registration or activationprocedures have been completed.

The processor 240 operates under stored program control and executessoftware modules 221 stored in memory such as persistent memory 244 orROM 248. The processor 240 can execute code means or instructions. ROM248 can contain data, program instructions or both. Persistent memory244 can contain data, program instructions or both, in some embodimentsis rewritable under control of processor 240, and can be realized usingany appropriate persistent memory technology, including EEPROM, EAROM,FLASH, and the like. As illustrated in FIG. 2, the software modules 221comprise operating system software 223 and software applications 225.

Software modules 221 or parts thereof can be temporarily loaded intovolatile memory such as the RAM 246. The RAM 246 is used for storingruntime data variables and other types of data or information, as willbe apparent to those skilled in the art. Although specific functions aredescribed for various types of memory, this is merely one example, andthose skilled in the art will appreciate that a different assignment offunctions to types of memory could also be used.

The software applications 225 can further include a range ofapplications, including, for example, an e-mail messaging application,address book, calendar application, notepad application, Internetbrowser application, voice communication (i.e., telephony) application,mapping application, or a media player application, or any combinationthereof. Each of the software applications 225 can include layoutinformation defining the placement of particular fields and graphicelements (e.g., text fields, input fields, icons, etc.) in the userinterface (i.e., the display 204) according to the application.

The modules 221 can further include a Global Positioning System (GPS)module or application which is configured for detection of ageographical position of the device 11, for example by correlatingexisting satellites. The GPS module can also receive from the enterprisecommunications platform 14 the geographical positions of the otherdevices 11.

In some embodiments, the auxiliary input/output (I/O) subsystems 250 cancomprise an external communication link or interface, for example, anEthernet connection. The auxiliary I/O subsystems 250 can furthercomprise one or more input devices, including a pointing or navigationaltool such as a clickable trackball or scroll wheel or thumbwheel, or oneor more output devices, including a mechanical transducer such as avibrator for providing vibratory notifications in response to variousevents on the mobile device 11 (e.g., receipt of an electronic messageor incoming phone call), or for other purposes such as haptic feedback(touch feedback).

In some embodiments, the mobile device 11 also includes one or moreremovable memory modules 230 (typically comprising FLASH memory) and oneor more memory module interfaces 232. Among possible functions of theremovable memory module 230 is to store information used to identify orauthenticate a user or the user's account to wireless network (e.g. WAN30 and/or PLMN 50). For example, in conjunction with certain types ofwireless networks, including GSM and successor networks, the removablememory module 230 is referred to as a Subscriber Identity Module or SIM.The memory module 230 is inserted in or operatively connected to thememory module interface 232 of the mobile device 11 in order to operatein conjunction with the wireless network.

The mobile device 11 stores data 227 in a persistent memory 244. Invarious embodiments, the data 227 includes service data comprisinginformation required by the mobile device 11 to establish and maintaincommunication with the wireless network (e.g. WAN 30 and/or PLMN 50).The data 227 can also include, for example, scheduling and connectioninformation for operatively connecting to a scheduled conference call.

The mobile device 11 also includes a battery 238 which furnishes energyfor operating the mobile device 11. The battery can be coupled to theelectrical circuitry of mobile device 11 through a battery interface236, which can manage such functions as charging the battery from anexternal power source (not shown) and the distribution of energy tovarious loads within or operatively connected to the mobile device 11.Short-range communication subsystem 262 is an additional optionalcomponent which provides for communication between the mobile device 11and different systems or devices, which need not necessarily be similardevices. For example, the short-range communication subsystem 262 caninclude an infrared device and associated circuits and components, or awireless bus protocol compliant communication mechanism such as aBLUETOOTH communication module to provide for communication withsimilarly-enabled systems and devices.

A predetermined set of applications that control basic deviceoperations, including data and possibly voice communication applicationswill normally be installed on the mobile device 11 during or aftermanufacture. Additional applications and/or upgrades to the operatingsystem software 223 or software applications 225 can also be loaded ontothe mobile device 11 through the wireless network (e.g. WAN 30 and/orPLMN 50), the auxiliary I/O subsystem 250, the data port 252, theshort-range communication subsystem 262, or other suitable subsystemsuch as 264. The downloaded programs or code modules can be permanentlyinstalled, for example, written into the program memory (e.g., thepersistent memory 244), or written into and executed from the RAM 246for execution by the processor 240 at runtime.

The mobile device 11 can provide three principal modes of communication:a data communication mode, an optional voice communication mode, and anoptional video communication mode. In the data communication mode, areceived data signal such as a text message, an e-mail message, Web pagedownload, or an image file will be processed by the wirelesscommunication subsystem 211 and input to the processor 240 for furtherprocessing. For example, a downloaded Web page can be further processedby a browser application or an e-mail message can be processed by ane-mail message messaging application and output to the display 204. Auser of the mobile device 11 can also compose data items, such as e-mailmessages, for example, using the input devices in conjunction with thedisplay 204. These composed items can be transmitted through thewireless communication subsystem 211 over the wireless network (e.g. WAN30 and/or PLMN 50). In the voice communication mode, the mobile device11 can provide telephony functions and operates as a typical cellularphone. In the video communication mode, the mobile device 11 can providetranscribing functions during a video conferencing session, including atleast one camera.

Reference is now briefly made to FIG. 13, which shows a reminderinterface 1200 that is displayed at a time of a conference call session,or a specified time beforehand. In some example embodiments, theconference call application can include a join now feature. Generally,in some example embodiments the join now feature includes a default joinoption, shown as a “Join Now” button 1202, for establishing thescheduled conference call session using a default address. Once the timeof that meeting arrives, or a predetermined time beforehand, the “JoinNow” button 1202 can be displayed on the device 11 on a popup reminderinterface 1204. In example embodiments, the automatic discovery featureis used to determine whether a particular address is to be associatedwith the join now feature. When this is performed, the selection of the“Join Now” button 1202 would result in the device 11 automaticallyoperatively connecting to the enterprise communications platform 14using the identified address. The address can be a phone number andconference access code, or an address link such as an Internet address.

In some existing systems, a conventional join now feature requiresspecific conference tags in order to identify that a particular phonenumber is to be allocated for the join now feature. A participant whoreceives mocha meeting invitation would typically require the same or acompatible software application in order to read the conference tags, toread and store the relevant conference details from those tags. A majorlimitation with these existing systems is that the join now featureappears only when there are tags inserted by the user into a meetinginvite. For example, if a meeting invite was created via MicrosoftOutlook (TM), the “Join Now” button will typically be absent or inactiveunless a special application is used to manually insert the appropriateconference tags.

Referring again to FIGS. 6 and 7, the applications 225 can include aconference call application, which can be an add-on, plug-in or app fora calendar application. Generally, in some example embodiments, theconference call application can be used for identifying whether acalendar event record, such as a meeting request, is in relation to ascheduled conference call. Some example embodiments generally relate toan automatic discovery feature with respect to the calendar eventrecord. Example embodiments can parse the calendar event record toidentify any conference call scheduling information. When parsing, someof the calendar event record can be temporarily stored in a cache in thememory.

Some example embodiments can be implemented by a host communicationdevice 11 a for a conference call. A conference call record can beautomatically populated with keywords when it intelligently recognizes auser's desire to convene a conference call session from a new orexisting calendar meeting entry. Additionally, the conference call canbe set up from a mobile communication device so as not to require a userto log onto their desktop to coordinate specific details.

Some example embodiments can be implemented by a non-host participantcommunication device for a conference call. This can be applied to acalendar meeting that is received, or to existing stored calendarmeetings. The calendar meeting can be identified as being in relation toa conference call, and address information such as dialing or linkinformation can be identified and used to join the conference call at orbefore the time of the call.

In some example embodiments, the conference call application can beconfigured for: parsing at least some of the calendar event record;determining, based on the parsing, whether the calendar event recordincludes conference call scheduling information in relation to ascheduled conference call session; generating, based on the parsing, oneor more identifiers for at least some of the conference call schedulinginformation; and storing in the memory 244 the one or more identifiers.

The one or more identifiers can include tags or fields. The identifierscan be stored as a separate record along with a copy of correspondingconference call scheduling information. In another example embodiment,the tags are used to tag corresponding conference call schedulinginformation within the calendar event record itself.

Some example embodiments can support multiple addresses, such asmultiple phone numbers and/or address links. For example, each of themultiple addresses can terminate onto the enterprise communicationsplatform 14. The automatic discovery feature can be used to determinewhich address is to be allocated for the join now option.

The automatic discovery feature for parsing the calendar event recordwill now be described in greater detail. In some example embodiments,the automatic discovery feature does not merely rely on tags or fieldsfor identifying the conference call scheduling information. In someexample embodiments, a trigger event such as the initial installation ofthe conference call application, will cause every meeting eventcontained in the calendar to be parsed. Other triggers can also be used,such as each launching of the conference call application or waiting aperiodic time period. During this phase, in other example embodiments,only calendar event records from the current time to the future areparsed, wherein any past events are ignored. After the initialinstallation, going forward, the application can parse any calendarevent record whenever a new event is added to the calendar application,such as when a new event is generated by the user using the calendarapplication, or a calendar event record is received or sent as aninvitation message.

In an example embodiment, the automatic discovery uses feature-basedlearning. This uses and acquires a large sample of both meetings thatcontain conference details and meetings that do not, and from thissample, extracts the features that strongly indicate whether a meetingis a teleconference or not. This approach uses a sample set thataccurately represents real-world data to have a high degree ofconfidence in its accuracy. Example implementations can be analogous tospam detection, such as Bayesian spam detection, as would be understoodin the art. Examples of such detection can include, for example, IonAndroutsopoulos et a., September 200, “Learning to Filter Spam E-Mail: AComparison of a Naive Bayesian and a Memory-Based Approach”, Dept ofInformatics, University of Athens; and M. Sahami et al. (1998), “ABayesian approach to filtering junk e-mail”, AAAI'98 Workshop onLearning for Text Categorization, the contents of which are hereinincorporated by reference.

This approach has a relatively proven track record of extremely highaccuracy for problems like spam filtering, but is also suitable forautomatic discovery of particulars of a conference call with minimalparsing.

In another example embodiment, the automatically discovery feature usesa whitelist of keywords. This can include sampling a whitelist ofkeywords to automatically discover teleconference meetings. This caninclude collecting over a hundred samples of teleconference meetingsfrom over ten example participants and determining common formatsmeeting organizers use when putting in conference details. This can alsoinclude sampling default templates that are automatically inserted intomeeting invitations when using different teleconference vendors. Exampleteleconference vendors include, without intending to be limiting,InterCall, WebEx, ACT, Live Meeting, and e-Dial. Conference relatedkeywords can also be used based on commonly used terms forteleconference meetings.

This approach is advantageous in that miscategorized meetings can oftenbe fixed by adding new keywords or formats to the whitelist. Thisapproach can also provide that specific well-known formats or templatesare supported.

In another example embodiment, the automatically discovery feature usesreinforcement learning. In some example embodiments, this approach isnot necessarily an alternative to the other approaches, but rather anenhancement to be used in conjunction with either approach. Thisapproach includes using a simplified version of reinforcement learningto improve accuracy on a per user basis. Reinforcement learning, unlikefeature-based learning, is done after the conference call application isinstalled on a device. In this approach, the application, onceinstalled, improves its accuracy over time by learning from pastmisclassifications of conference meetings. In this approach, theapplication explicitly asks or prompts the user whether or not theapplication correctly labeled a meeting as a teleconference meeting andaccurately identified the conference details. The accuracy of automaticdiscovery improves over time in this approach.

Reference is now made to FIG. 9, which shows an example user interface300 displayed on the display 204 for scheduling a conference call, inaccordance with an example embodiment. In the example embodiment shown,the user interface 300 is for example implemented by a conference callapplication (as a stand-alone or in combination with other applications)resident on the host device 11 a, which can be an add-on, plug-in or appfor a calendar application. The user interface 300 can form part of aconference call session scheduling process.

Still referring to FIG. 9, the user interface 300 relates to schedulingof a conference call session having a subject that is to occur at ascheduled time and date. For example, the time and date of the scheduleconference call session can be stored within the conference callapplication or a calendar application. For example, the scheduledconference call has a subject field of “PM-PO-UX Synch.” and has ascheduled date field of “May 8, 2009 at 3:30 PM-4:00 PM”. The userinterface 300 can be manually triggered by launching and subsequentlyoperating the conference call application.

As shown in FIG. 9, the user interface 300 also includes an options menu306 to perform functions such as editing the existing scheduledconference call, scheduling new conference calls, and inviting newparticipants. During the conference call scheduling process, theconference call scheduling information is sent from the host device 11 ato the enterprise communications platform 14, which stores theinformation in a memory. In some example embodiments, the host mobiledevice 11 a sends an invitation message directly or indirectly to therecipient invitee client devices 11. In some example embodiments, thehost mobile device 11 a receives a response to the invitation messagedirectly or indirectly from the invitee client devices 11. The hostmobile device 11 a can update the enterprise communications platform 14in such example embodiments.

At the time of the scheduled conference call, or a specified timebeforehand, the enterprise communications platform 14 can contact eachof the devices 11 to join the media sessions together. In exampleembodiments, the devices 11 can also dial or link into the enterprisecommunications platform 14 using dialing or address link informationreceived during scheduling.

As shown in FIG. 9, the user interface 300 includes a title bar 302, astatus icon 304, an options menu 306, and participant icons 310 a-310 d(each or individually 310) that display the status of each participantfor the conference call. The participant icons 310 can, for example, bea photo or avatar of the individual user. A cursor 312 is also shown forindicating which item(s) on the user interface 300 are to be selected(e.g., controllable by a user input device such as a touchscreen, touchscrollball or mouse). The status icon 304 displays the present status ofthe conference call, for example “Scheduled CC” (Conference Call) asshown.

Referring now to the participant icons 310, in the example shown, theuser interface 300 is displayed on the host device 11 a, indicated as“You-Host” as shown in icon 310 a. The participant icon 310 b associatedwith “John” is indicated as “Declined”. The participant icon 310 bassociated with “Sally” is indicated as “Tentative”. The participanticon 310 d associated with “Kevin” is indicated as “Accepted. Contactinformation such as e-mail address or phone number for the participantscan be pre-stored in association with the participant names (or can bemanually entered, as appropriate). The status of each participant icon310 can also be shown, for example, as Accepted, Tentative, or Declined.

As shown in FIG. 9, in some example embodiments the host device 11 a canalso select a menu 314 to designate the scheduled conference call as a“closed” conference call. In a “closed” call, only the specified oreligible participant devices 11 designated by the host device 11 a canjoin the call. Additionally, for example, only a specified number ofparticipants can join the call. In some example embodiments, in a“closed” call further authentication of those participant devices 11 canbe performed when attempting to access the scheduled conference call. Asshown, the host device 11 a also has the option to use the menu 314 toset the scheduled conference call as an “open” conference call, whereinany participant device 11 (designated as eligible or not) can join.

In some example embodiments, some aspects of the user interface 300 canrelate to a conventional calendar event scheduling interface. Forexample, a user can populate a Notes graphical user interface 316 asnormally performed when scheduling a conference call using aconventional calendar event scheduling interface. In some exampleembodiments, the Notes graphical user interface 316 can be filled withvarious information or comments with respect to the meeting, and whetherthe meeting is in relation to a conference call. In some exampleembodiments, Notes graphical user interface 316 can be populated withone or more phone numbers, and moderator or participant access codes,for operatively connecting to the enterprise communications platform 14.In the example shown, the phone numbers shown are USA Toll Free,Internal extension, and Other. Additional addresses can also bepopulated within the Notes graphical user interface 316, such as anInternet, Intranet, or SIP address link.

Accordingly, some example embodiments can support multiple addresses,such as multiple phone numbers and/or address links. Through theinterface 300, the host user can save the calendar invitation as acalendar event record, or send the present calendar invitation to theinvitees. This can trigger the automatic discovery feature in accordancewith some example embodiments, as described above. Using the automaticdiscovery feature, one or a plurality of addresses can be identifiedfrom the calendar event record, for example from the Notes graphicaluser interface 316. In some example embodiments, using the interface,users can choose from a list which phone number they would like to usefor the join now button 1202 (shown in FIG. 13). The interface can beaccessible from the calendar meeting event record, to allow the user tomodify which number is to be used for the join now button 1202 (shown inFIG. 13) to dial into the conference call.

Reference is now made to FIG. 10A, which shows an interface 500 inaccordance with an example embodiment. As illustrated in the interface500, the automatic discovery feature can be used to extract the variousconference call scheduling information from the Notes graphical userinterface 316 (shown in FIG. 9). As shown, the US Toll Free, Internal,Other, Moderator Access Code, and Participant Access Code are automaticdiscovered and copied into respective fields. The host device 11 a canalso store a tag, represented by checkmark 502, which represent theparticular phone number (US Toll Free in this example) which is thedefault phone number assigned to the join now option (e.g. join nowbutton 1202 (shown in FIG. 13)). Through the interface 500, the user canedit or select which address or phone number is to be used for the joinnow option.

Thus, reference is made to FIGS. 10B and 10C, which illustrate how theinterface 500 can be used to select a different phone number, forexample Internal, as the default phone number assigned to the join nowoption. As shown in FIGS. 10A and 10B, a drop-down menu 504 for Internalis selected, and the “Use for Join Now” option 506 can be selected. Asshown in FIG. 10C, the tag, represented by checkmark 502, is nowassigned to the Internal phone number.

In further example embodiments, a tag is saved or flagged within theNotes graphical user interface 316 itself (shown in FIG. 9), for exampleusing an XML tag or other indicator (not shown).

Accordingly, the host device 11 a can readily use natural language tocreate and configure a conference call meeting for sending to otherdevices, which can recognize the same fields or tags.

Reference is now made to FIG. 11, which shows another interface 600 inaccordance with another example embodiment. As illustrated in theinterface 600, the automatic discovery feature can be used to extractthe various conference call scheduling information from the Notesgraphical user interface 316 (shown in FIG. 9). The default phone numberassigned to the join now option (e.g. join now button 606) can beselected using a drop-down menu 604. Through the interface 600, the usercan edit or select which address or phone number is to be used for thejoin now button 606. As shown in FIG. 11, a tag, represented bycheckmark 602, is assigned to the phone number to be used for the joinnow button 606.

Reference is now made to FIG. 12, which shows a user interface 400 fordisplaying a received invitation message 402 on a non-host participantdevice 11. In some example embodiments, the received invitation message402 can be received from any formatted calendar source, such as, withoutintending to be limiting, Google™ Calendar, Apple™ iCal, GoDaddy™ OnlineGroup Calendar, IBM Lotus Notes™, Yahoo™ Calendar, Microsoft Outlook™,or any calendar standard format such as ICalendar (*.ics), as would beunderstood in the art. The device 11 first receives the invitationmessage 402 from another communication device, such as host device 11 a,with respect to a scheduled conference call (and not necessarily havingthe same conference call application installed). As shown, the message402 as displayed can include a number of fields 404 which relate toconference call scheduling information. The fields 404 include Subject,Start time, End time, Recurrence, Host/Organizer, and Notes 420. TheNotes 420 can include a variety of notes on the conference callscheduling information, such as web information or audio (dialing)information for accessing the conference call. In some exampleembodiments, the example user interface 400 can be displayed using acalendar application or a conference calling add-on, plug-in or app, asa stand-alone or in combination with other applications. The userinterface 400 can also form part of the conference call sessionscheduling process.

In some example embodiments, the invitation message 402 can be receivedas an e-mail message designating the participant's e-mail address, butcan also be in other forms such as short message service (SMS), SIPmessage, instant messaging, or calendar invite. The message 402 can bereceived directly or indirectly from a host device 11 a.

As shown on the interface 400, a number of response options 406 can beselected in order to respond to the invitation message 402. As shown,the response options 406 include Accept 410, Decline 412, Tentative 414,or Forward 416. Upon selection of one or more of the response options406, a communication containing the response is sent to the host device11 a. In further example embodiments, selection of the Accept 410 optioncan result in the details of the invitation message 402 being stored ina calendar application of the device 11. The Forward 416 option can beused to forward the invitation message to a new participant clientdevice.

Upon receiving the invitation message 402, this can trigger theautomatic discovery feature in accordance with some example embodiments,as described above. Using the automatic discovery feature, conferencecall scheduling information such as one or a plurality of addresses canbe identified from the calendar event record. Other triggers can beused, such as selecting the Accept 410 option or saving the invitationmessage 402. The automatic discovery feature identifies and/or extractsthe relevant conference call scheduling information, such as the variousphone numbers contained in the Notes 420. In addition, one of thenumbers can be automatically selected as the default number to be usedfor the join now option.

Referring again to FIG. 10A to 10C, in some example embodiments, theinterface 500 can be used by a non-host participant device 11 (the sameinterface 500 used by the host device 11 a is illustrated here forconvenience). Through the interface 500, invited users can select from alist which phone number they would like to use for the join now button1202 (shown in FIG. 13), for example, if the automatically selecteddefault number or address is not suitable. The interface can beaccessible from the calendar meeting event record, to allow the user tomodify which number is to be used for the join now button 1202 (shown inFIG. 13) to dial into the conference call. Note that, this is typicallyconfigured prior to the occurrence of the conference call, so that theuser is not rushed at the scheduled time. At the time of the scheduledconference call, or a specified time beforehand, the devices 11 candisplay the reminder interface 1200 including the join now button 1202(shown in FIG. 13), to dial or link into the enterprise communicationsplatform 14.

Referring briefly to FIG. 11, the alternate interface 600 can also beused for editing and configuring the conference call schedulinginformation for the non-host participant device. For example, theaddress associated with the join now button 606 can be configured usingthe drop-down menu 604.

Referring again to the interface 400 of FIG. 12, if web information isreceived, an address link (not shown) can be selected as the defaultjoin option for joining the conference call session. If the conferencecall is a closed call, the enterprise communications platform 14 canthen authenticate the device 11, for example by authenticating anidentifier of the device 11 (in one embodiment, using a particularpersistent device identifier). Upon authentication, a conference callsession can be established between the device 11 and the enterprisecommunications platform 14, which can include a media session 126 (shownin FIG. 6).

As can be appreciated, in some example embodiments the address link canidentify the enterprise communications platform 14 as well as thescheduled conference call session and/or the participant identifier, andcan include a Uniform Resource Locator (URL), a Uniform ResourceIdentifier (URI), or other suitable address.

Referring again to FIGS. 10A to 10C, the particular automatic discoveryand selection of the default address or phone number for the join nowoption from a plurality of addresses will now be described. For example,a user might use their device in different ways. They might makepersonal calls through their personal cell line. They might join officecalls or contact clients or colleagues through their work number. Whenmaking a conference call, it is necessary to select the appropriatenumber and configure the appropriate connection. A user might beauthorized to make a call if they were at their desk, but their personalcell line does not have permission to join a secure call. However theuser is in fact the same individual but the device and the bridge mightnot know this.

Referring still to FIGS. 10A to 10C, the interface 500 can be displayedon either the host device 11 a or the non-host participant device 11, asappropriate. In some example embodiments, localization or locationinformation is used to determine the default phone number for theparticular client device. For example, a local phone number can be usedif the device is associated with that particular location. For example,the particular carrier subscriber of the device can be used to determinethe geographic location. In some example embodiments, a phone number ofan associated SIM card or CDMA card can be used to determine the bestsuited location, and therefore the most suitable address, of the device.For example, the Mobile Station International Subscriber DirectoryNumber (MSISDN) of the device can be used.

In some example embodiments, GPS information from the GPS applicationcan be used to determine the present location of the device, and whethera local number is available or suitable for the join now option.

In some example embodiments, other future calendar event records can beused to determine where the device will be located for a future meeting.For example, if a user based in London is travelling to New York City,the device can determine the users current or anticipated (scheduled)location. Based on the user current or anticipated location, the morepreferred dial-in information can be used to operatively connect to theconference, for example whatever local dialing number is available. Ifno local dialing number is available, then the toll free number can beselected as the default number.

In some example embodiments, the security designation or permissions ofthe particular device is considered for selection of the default addressfor the join now option from the plurality of addresses. For example,from a work desktop phone, that phone can be permitted to dial aninternal extension (“Internal” shown in FIG. 10A), however a personalmobile device should not have some such permission. In another example,mobile phones which are associated with a particular enterprise can bepermitted to access the conference via an address link (not shown), andcan thus automatically select the address link as the default joinoption.

If only one address or phone number is received in the originalinvitation message, then that address or phone number is automaticallyassigned as the default join option.

Accordingly, various specified criteria can be used to determine thedefault phone number. These various criteria can be prioritized orweighted, as appropriate. In some example embodiments, the addresses areidentified from the address fields of the scheduling information,without parsing. In some example embodiments, the automatic discoveryfeature can be used to determine the most suitable address.

Reference is now made to FIG. 8, which shows an example flow diagram ofa method 800 for identifying a conference call in accordance with anexample embodiment. The method 800 can be performed by a host device 11a or by a non-host participant device 11, depending on the particularapplication. At step 802, the conference call application is installed,which acts as a trigger event for the method 800. Next, every calendarevent record stored in the calendar is to be parsed (or in someembodiments, only those records from the present date onwards). Thus, atstep 804 the first calendar event record is identified. At step 806,that calendar event record is parsed for conference call schedulinginformation. For example, the automatic discovery feature can be used.Also, the particular default address to be associated with the defaultjoin option can be identified. At step 808, the identifiers for theidentified conference call scheduling information are generated andsaved to memory. At step 810, this is repeated until all of the existingcalendar event records are all parsed.

In some example embodiments, other triggers can also be used forstarting the method 800 at step 802, such as each launching of theconference call application or waiting a periodic time period. In otherexample embodiments, only calendar event records from the current timeto the future are parsed, wherein any past events are ignored.

At step 812, after the initial installation, going forward, theapplication can parse any calendar event record whenever a new event isadded to the calendar application, such as when a new event is generatedby the user using the calendar application, or a calendar event recordis received or sent as an invitation message. At step 812, the devicedetects a new event record. The new event can be a result of a new eventbeing created by the user, an invitation message being sent by thedevice, or an invitation message being received by the device. At step814, that calendar event record is parsed for conference call schedulinginformation. For example, the automatic discovery feature can be used.Also, the particular default address to be associated with the defaultjoin option can be identified. At step 816, the identifiers for theidentified conference call scheduling information are generated andsaved to memory. This is repeated as necessary, as new event records arecreated, sent, or received by the device.

Reference is now made to FIG. 14, which shows an example flow diagram ofa method 900 for join selection of a conference call in accordance withan example embodiment. The method 900 can be performed by a host device11 a or by a non-host participant device 11, depending on the particularapplication. The method 900 can be used to identify which address is tobe used as the default address for the default join option. Uponinstallation, the method 900 can be performed on each and every eventrecord stored in the device, and/or for each new event thereafter. Thenew event can be a result of a new event being created by the user, aninvitation message being sent by the device, or an invitation messagebeing received by the device.

At step 902, the particular event record is selected. At step 904, oneor more addresses are identified from the event record for contacting aconference call server for establishing a scheduled conference callsession. This can be performed by extracting from the address fields, orby using natural language parsing. At step 906, the location informationof the device is determined, for example using the device number, GPS,or calendar information. At step 908, the security information isdetermined, for example whether the device can access the conferencecall using an address link. At step 910, based on such specifiedcriteria, the communication device automatically selects one of theaddresses as a default address associated with a default join option forestablishing the scheduled conference call session. At step 912, anidentifier is generated for associating the selected default addresswith the default join option. The identifier is then stored in memory.This is repeated as necessary, as new event records are created, sent,or received by the device.

In some example embodiments, any message or natural language text (e.g.text document, e-mail thread, web chat) could be used as a basis forparsing for a potential conference call scheduling information, and neednot be limited to calendar events.

It can be appreciated that the specific words as shown in the varioususer interfaces are intended to be illustrative only. For example, anysuitable words or phrases can be used, and would not be limited to theEnglish language. For example, any number of multi-lingual variations indifferent languages can be displayed or output from the device.

Variations of the above example systems and methods can be used. Whilesome of the above examples have been described as occurring in aparticular order, it will be appreciated to persons skilled in the artthat some of the messages or steps or processes can be performed in adifferent order provided that the result of the changed order of anygiven step will not prevent or impair the occurrence of subsequentsteps. Furthermore, some of the messages or steps described above can beremoved or combined in other embodiments, and some of the messages orsteps described above can be separated into a number of sub-messages orsub-steps in other embodiments. Even further, some or all of the stepsof the conversations can be repeated, as necessary. Elements describedas methods or steps similarly apply to systems or subcomponents, andvice-versa. Reference to such words as “sending” or “receiving” could beinterchanged depending on the perspective of the particular device.

Variations can be made to some example embodiment, which can includecombinations and sub-combinations of any of the above. The variousembodiments presented above are merely examples and are in no way meantto limit the scope of this disclosure. Variations of the innovationsdescribed herein will be apparent to persons of ordinary skill in theart having the benefit of the present disclosure, such variations beingwithin the intended scope of the present disclosure. In particular,features from one or more of the above-described embodiments can beselected to create alternative embodiments comprised of asub-combination of features which might not have been explicitlydescribed above. In addition, features from one or more of theabove-described embodiments can be selected and combined to createalternative embodiments comprised of a combination of features whichmight not have been explicitly described above. Features suitable forsuch combinations and sub-combinations would be readily apparent topersons skilled in the art upon review of the present disclosure as awhole. The subject matter described herein intends to cover and embraceall suitable changes in technology.

1. A method for join selection of a conference call from a communicationdevice, wherein the communication device includes a memory for storingan event record, the method comprising: identifying from the eventrecord one or more addresses for contacting a conference call server forestablishing a scheduled conference call session; automaticallyselecting, based on specified criteria, one of the addresses as adefault address associated with a default join option for establishingthe scheduled conference call session; generating an identifier forassociating the selected default address with the default join option;and storing the identifier in the memory.
 2. The method as claimed inclaim 1, further comprising displaying an interface on the communicationdevice including the default join option.
 3. The method as claimed inclaim 2, wherein the interface includes a reminder interface includingthe default join option displayed at a time of the scheduled conferencecall session, or a specified time beforehand.
 4. The method as claimedin claim 1, wherein the specified criteria includes relating locationinformation of the communication device with the default address.
 5. Themethod as claimed in claim 4, wherein the location information isobtained from a Subscriber Identity Module (SIM) card of thecommunication device.
 6. The method as claimed in claim 4, wherein thelocation information is obtained from a Global Positioning System (GPS)of the communication device.
 7. The method as claimed in claim 4,wherein the location information is obtained from a calendar applicationof the communication device.
 8. The method as claimed in claim 1,wherein the one or more addresses includes a locally accessible address.9. The method as claimed in claim 1, wherein the specified criteriaincludes relating a security designation of the communication devicewith the default address.
 10. The method as claimed in claim 1, furthercomprising receiving the event record as an invitation message from asecond communication device.
 11. The method as claimed in claim 1,further comprising sending the event record and the stored identifier asan invitation message to a second communication device.
 12. The methodas claimed in claim 1, wherein the identifying step includes parsing theevent record for the one or more addresses.
 13. The method as claimed inclaim 1, wherein the one or more addresses includes at least a phonenumber or an Internet address.
 14. The method as claimed in claim 1,wherein the event record is a calendar event record.
 15. (canceled) 16.A communication device comprising: a communications subsystem; a memoryfor storing an event record; and a controller configured for:identifying from the event record one or more addresses for contacting aconference call server for establishing a scheduled conference callsession, automatically selecting, based on specified criteria, one ofthe addresses as a default address associated with a default join optionfor establishing the scheduled conference call session, generating anidentifier for associating the selected default address with the defaultjoin option, and storing the identifier in the memory.
 17. Thecommunication device as claimed in claim 16, further comprisingdisplaying an interface including the default join option.
 18. Thecommunication device as claimed in claim 17, wherein the interfaceincludes a reminder interface including the default join optiondisplayed at a time of the scheduled conference call session, or aspecified time beforehand.
 19. The communication device as claimed inclaim 16, wherein the specified criteria includes relating locationinformation of the communication device with the default address. 20.The communication device as claimed in claim 19, wherein the locationinformation is obtained from a Subscriber Identity Module (SIM) card ofthe communication device. 21.-29. (canceled)